//
//  UIImage+Scale.swift
//  图片浏览
//
//  Created by itcast on 16/5/25.
//  Copyright © 2016年 itcast. All rights reserved.
//

import UIKit

extension UIImage {
    
    /**
     图片等比例缩放
     
     - parameter newWidth: 新的宽度
     */
    func scaleImage(newWidth: CGFloat) -> UIImage {
        // 图片太小不需要重画
        if self.size.width <= newWidth {
            return self
        }
        
        // 等比例缩放
        // 新的高度 / 新的宽度 = 原来的高度 / 原来的宽度
        // 新的高度 = 新的宽度 * 原来的高度 / 原来的宽度
        let newHeight = newWidth * self.size.height / self.size.width
        
        let newSize = CGSize(width: newWidth, height: newHeight)
        
        // 绘图
        // 获取上下文 画画的画板
        UIGraphicsBeginImageContext(newSize)
        
        self.drawInRect(CGRect(origin: CGPointZero, size: newSize))
        
        // 获取画好的图片
        let newImage = UIGraphicsGetImageFromCurrentImageContext()
        
        // 结束上下文
        UIGraphicsEndImageContext()
        
        return newImage
    }
}
